Rust、Wasm、Substrate 好在哪里|专访 Parity 核心开发 Jack Fransham
加入 www.polkaworld.org 社区,共建 Web 3.0!
Parity Technologies 由众多才华横溢的开发人员组成,他们通常对用于开发的技术和自己所开发出来的技术都充满热情。Jack Fransham 就属于此类,他可以详细讨论 Rust 编程语言、WebAssembly(Wasm)和 Substrate 的优点。
Jack 在 Parity 工作的一年半里,参与了多个项目,包括 Parity Wasm 翻译器 Wasmi;“ Fleetwood” eDSL 库,用于在 Rust 中编写安全的智能合约;EVM 优化;哈希算法;现在在做的 Lightbeam Wasm 编译器。
Jack 的另类和偶尔的病态幽默感可以从他写的东西中看出。例如,在解释 Substrate 的免分叉升级时,他将区块链的分叉比喻为替换家里的狗:
传统上无法真正 “升级” 区块链,只能创建一个保留旧有历史的新区块链。就像你用另一只相同品种的狗代替死去的狗,然后为了让孩子们好受,给它取一个相同的名字一样。只不过在这种情况下,原来的狗还没有死,而且我想这只新的狗还通过外科手术,将原来的狗的所有记忆以某种方式植入了自己的大脑。
我和 Jack 一起聊天,谈论在 Rust 中编写智能合约、WebAssembly 的非凡之处,在 Parity 工作的感觉以及在柏林的生活。
与大多数 Parity 开发人员一样,你是 Rust 的忠实粉丝。是什么让你爱上了这门编程语言?
因为有史以来第一次,我能写出看起来类似以前用 Python 或 C#语言写出的代码,但又具有可视化其编译成的程序集的能力。也许没有确切的指令,但你至少可以做出流程并使用它来有效地优化程序,而无需诉诸内存不安全的语言或构造。C++ 也具有这种能力,但是我没有多余的时间来学习它了。
你已经有了在 Rust 中编写智能合约的理由。为什么人们应该考虑在 Rust 中编写智能合约?
好吧,我的第一个答案将永远是因为 Rust 是一门很棒的通用语言,同时它也非常适合于区块链用例。你在区块链上遇到的许多约束,与在高可靠性嵌入式系统中发现的约束相同,即代码量小、安全性高、可靠性高以及资源占用最少。Rust 的设计目标之一是针对高可靠性的嵌入式系统,而我们在这些工作的基础上,顺便也拥有了一门为区块链而精心设计的语言。更不用提一个事实,它已经具有产生 Wasm 的世界一流的优化编译器,正如我之前提到的,Wasm 是用于区块链的出色 VM ISA。
你在博客上写了很多有关 WebAssembly (Wasm) 的文章。你对 Wasm 有什么兴趣?
我一直对虚拟机和语言设计着迷,但是 WebAssembly 确实是新事物。这是第一台旨在尽可能容易地进行汇编的虚拟机,同时还具有你希望从更高级别的 VM ISA 获得的确定性、安全性和定义明确的语义。它肯定有问题,但是即使十年内没有人使用 Wasm,它带来的想法仍然是应用程序安全和虚拟机设计的真正转折点。
你似乎也是 Substrate 的粉丝。你最喜欢 Substrate 的哪个方面?
毫无疑问是 runtime 升级机制。据我所知,在第一次 Polkadot 运行时升级之前,没有任何区块链被升级过 —— 它们总是被简单地分叉。某个橱柜里可能还有一台仍在开采比特币 v0.1 的计算机;在有了 Substrate 升级机制后这种情况就不会发生,只要网络不分离就行。这意味着 Polkadot 和其他 Substrate 链的设计可以更快地迭代,而无需像以太坊一样进行大量更新。
你现在在做什么?
在做一个 WebAssembly 的优化线性时间编译器。我们希望能够为 Wasm 生成本机代码,以便获得最佳性能,但是传统的编译器基本上不可能在没有所谓的 “编译器炸弹” (一段可以发送给编译器,造成花费大量时间的代码)的情况下编写。我正在构建一个可以生成高质量本机代码的编译器,同时还可以抵抗编译器炸弹的攻击。
你喜欢在 Parity 工作吗?
Parity 需要大家做的项目,实际上是我在业余时间也总会去做的项目。需要完成的工作种类繁多,其中很多工作都很有趣而且令人愉快。此外,我还可以在家里自由工作 —— 我喜欢在办公室里工作,但没有办公室可以比得上用扬声器系统播放自己的音乐。
像许多 Parity 开发人员一样,你也生活在柏林。你喜欢这座城市的哪些部分?
就是这边的夜生活会让你觉得你是社区的一员。你晚上出去玩的时候,大多数时候人们会尊重你和友好地对待你,而当有人没这么做时,大家会把他们请出去。如果你经常去玩,会看到许多相同的面孔。即使你没跟所有人成为朋友,也至少认得他们。Techno 现场足够小,让你感觉你是社区的一部分,但又足够大,让你总有新鲜事儿做。
原文:https://www.parity.io/people-of-parity-jack-fransham-core-developer/
翻译:PolkaWorld
欢迎学习 Substrate:
https://substrate.dev/
关注 Substrate 进展:
https://github.com/paritytech/substrate
关注 Polkadot 进展:
https://github.com/paritytech/polkadot
申请 Bootcamp:
https://bootcamp.web3.foundation/
更多内容:
“波卡会继续重视中国社区和生态项目的发展”|PW 专访 Qinwen
在家办公 4 年 ,他开发出了多个核心功能|Parity 第七号员工 Tomasz Drwięga
我在 Parity 做 DevOps 工程师|Parity 人物专访
直播预告:
今晚两位 Parity 核心开发将进行在线直播,主题是「Substrate 的无分叉升级和利用 Offchain Workers 创建身份 Oracles」,扫描下方二维码免费参与⬇️
扫码关注公众号,回复 “1” 加入波卡群
关注 PolkaWorld
发现 Web 3.0 时代新机遇
点个 “在看” 再走吧!